Current web pages and applications rely on a combination of static and dynamic HTML, JavaScript and server-side applications in order to render content to end users.
Static HTML once rendered cannot be changed, it does not have database access and no interactions persist between browser (user) and server. Most static HTML does not require server side coding. Standard HTML pages are static web pages. They contain HTML code, which defines the structure and content of the web page. Each time an HTML page is loaded, it looks the same. The only way the content of an HTML page will change is if the Web developer updates and publishes the file.
Web pages leveraging JavaScript or Dynamic HTML can be changed, and provide dynamic pages that can be connected to databases. JavaScript and Dynamic HTML allow a browser (user) to interact with the server but may require server side coding. PHP, JSP and ASP may be used for implementing JavaScript or Dynamic HTML which contain “server-side” code.
When a company needs to integrate or add new dynamic or real-time functionality into their web-based offerings (which functionality may or may not be directly relevant to their content), they can either opt to build such functionality in-house from scratch or leverage services from third parties by using APIs provided by these entities.
Although building the services/functionality in-house provides complete control over all aspects of the service, such custom development will certainly take longer, cost more and may lead the developer into many pitfalls if this field is not their main forte. Where the functionality is not directly related to the company's content, it may be difficult to justify such time and cost investment.
Given the pitfall of in-house development as mentioned above, it has become common place for developers to use as many services from third parties as possible without losing control and offering the net new features in the field where their forte lies.
The use of APIs and web services has increased lately, and provides a nimble and fast to implement method. But despite a lot of information being available about APIs and web services, it still takes a deep understanding and a fair amount of work to implement them.
When using APIs from different third parties, such use is complicated and requires an understanding of different APIs as each API may have a different setup and format and may require contrasting infrastructure choices. Additionally the cost of transition from one API set to another can be prohibitive and this cost never adds business value.
It would be desirable to allow a simple and inexpensive means for new dynamic or real-time functionality to be incorporated into web documents, pages, or applications.